Different types of data such as characters, tables, and images require different structures which define the data and different editing operations for the data. Various application programs are provided in accordance with the type of data. The user uses different applications for different types of data: a character processing program in order to edit characters, a spreadsheet program in order to edit tables, and an image editing program in order to edit images.
In this way, the user generally uses different application programs for different types of data. In general, a document to be created by the user is made up of a plurality of types of data such as characters and tables, or characters and images, rather than a document formed from only one type of data such as characters, tables, or images. To create a target document containing a plurality of types of data, the user must use the printing functions of various applications to print data by the respective applications, and combine the print materials in a desired order.
Some programs such as so-called “Office Suite” which forms one integrated application from various applications provide a function of combining data generated by respective applications into one document. The use of the integrated application allows the user to combine data created by respective applications into one target document by using a specific application included in the integrated application.
In order to issue a print instruction for a created document or the like on an information processing apparatus such as a personal computer and utilize the functions of a printing apparatus to be used, a control program called a printer driver prepared for every printing apparatus is exploited. The printer driver grasps the functions of the printing apparatus, has a user interface for using the functions, and allows various applications to use the functions. Various applications invoke the user interface of the printer driver in order to utilize the functions of the printing apparatus, and use the printer driver to generate an instruction for using the functions of the printing apparatus.
In general, the application can control some of the functions of the printing apparatus that are recognized by an operating system (to be referred to as an “OS” hereinafter), such as the basic functions of the printing apparatus including the paper size and resolution. However, the application cannot generate an instruction in printing for functions such as staple, punch, and Z-fold functions usable only by the printing apparatus unless the user uses the printer driver.
In the conventional method, the application cannot grasp functions not recognized by the OS. The expected print result of a document created by the application cannot be reflected on the document display, and thus the print result cannot be confirmed on the display in advance.
To solve this problem, systems which assume the use of only limited printing apparatuses and can designate only their functions have conventionally been implemented. Japanese Patent Laid-Open No. 2001-67347 discloses a method of grasping the functions of the printing apparatus in association with the printer driver, generating an instruction for the functions of the printing apparatus, and realizing displaying an expected print result on the display.
However, to assign page numbers to pages when the user creates one target document by combining print materials generated by various applications, he/she must print out all necessary data, combine them into a document, and determine page numbers. Each application writes determined page numbers on respective pages (to be referred to as logical pages or original pages) of an original created by the application. Even if the application program has a function of assigning page numbers, the page numbers of discontinuous pages must be designated by the user. If the pages of the target document are rearranged, page numbers must be reassigned in accordance with the rearrangement. These pages must also be edited and printed again by an application when not data contents but merely the format is changed such that a plurality of original pages are combined into one page (to be referred to as a physical page or print page) as a print material, or single-sided printing is changed to double-sided printing.
Since an application which can manage data changes depending on the type of data, the user must manually provide an interface between applications. This means that much labor is demanded of the user, decreasing the productivity. The many manual operations readily generate errors.
The use of an integrated application for creating a target document enables arranging various data in the data state without printing them out. No heavy labor is required in comparison with creation of a target document by combining print materials. However, applications for editing and creating various data are restricted to ones included in the integrated application, so a user-desired application is not always exploited. A target document created by the integrated application is one document file, and management such as editing and output is done for each file. The application function poses many constraints on setting the format of part of the document file. For example, the user must change format settings at each portion where the format is changed, and print a target page again. This leads to much labor and low productivity, similar to the above-mentioned method.
To use print functions unique to limited printing apparatuses, an instruction generated for a specific printing apparatus is exploited in the conventional method, and cannot be output to another printing apparatus. In the absence of information about a printing apparatus which finally outputs a document, an instruction for outputting a document from this apparatus cannot be generated.
To solve this problem, an instruction generated for a specific printing apparatus is used in printing by another printing apparatus, or in the absence of information about a printing apparatus which finally outputs a document, an instruction for outputting a document from this apparatus is generated. In this case, however, generated instructions may include an impossible instruction.
To facilitate an instruction to the printing apparatus, instructions are selected from a template made up of a combination of instructions, and issued at once. Also in this case, instructions included in a designated template may contain an instruction which cannot be realized by a printing apparatus to be used for printing.